// 用户管理模块接口
import request from "@/utils/request";
import type { SetRoleData, AllRoleResponseData, User, UserResponseData } from "./type";
// 每集地址
enum API {
    // 获取全部已有的用户账号信息
    ALLUSER_URL = '/admin/acl/user/',
    // 添加一个新的用户
    ADDUSER_URL = '/admin/acl/user/save',
    // 更新已有的用户账号
    UPDATEUSER_URL = '/admin/acl/user/update',
    // 获取全部职位，当前账号拥有的职位接口
    ALLROLE_URL = '/admin/acl/user/toAssign/',
    // 给已有的用户分配角色接口
    SETROLE_URL = '/admin/acl/user/doAssignRole',
    // 删除某个用户的接口
    DELETEUSER_URL = '/admin/acl/user/remove/',
    // 批量删除的接口
    DELETEALLUSER_URL = '/admin/acl/user/batchRemove'
}
// 获取用户账号信息
export const reqUserInfo = (page: number, limit: number, username: string) => request.get<any, UserResponseData>(API.ALLUSER_URL + `${page}/${limit}/?username=${username}`)
// 添加用户与更新已有用户
export const reqAddOrUpdateUser = (data: User) => {
    if (data.id) {
        return request.put<any, any>(API.UPDATEUSER_URL, data)
    } else {
        return request.put<any, any>(API.ADDUSER_URL, data)
    }
}
// 获取全部职位以及包含当前账号拥有的职位
export const reqAllRole = (userId: number) => request.get<any, AllRoleResponseData>(API.ALLROLE_URL + `${userId}`)
// 分配职务
export const reqSetUserRole = (data: SetRoleData) => request.post<any, any>(API.SETROLE_URL, data)
// 删除某个用户
export const reqRemoveUser = (userId: number) => request.delete<any, any>(API.DELETEUSER_URL + `${userId}`)
// 批量删除接口
export const reqSelectUser = (idList: number[]) => request.delete<any, any>(API.DELETEALLUSER_URL, { data: idList })